﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using road2.Model;

namespace road2.ViewModels
{
    class MainViewModel : ViewModelBase
    {
        private ObservableCollection<Road> _roadCollection;
        public ObservableCollection<Road> roadCollection
        {
            get { return _roadCollection; }
            set
            {
                _roadCollection = value;
                RaisePropertyChanged("roadCollection");
            }
        }

        private Road _selectedRoad;
        public Road selectedRoad
        {
            get { return _selectedRoad; }
            set
            {
                _selectedRoad = value;
                RaisePropertyChanged("selectedRoad");
            }
        }

        private ObservableCollection<CarGenerator> _trafficGenCollection;
        public ObservableCollection<CarGenerator> trafficGenCollection
        {
            get { return _trafficGenCollection; }
            set
            {
                _trafficGenCollection = value;
                RaisePropertyChanged("trafficGenCollection");
            }
        }

        private CarGenerator _selectedTrafficGen;
        public CarGenerator selectedTrafficGen
        {
            get { return _selectedTrafficGen; }
            set
            {
                _selectedTrafficGen = value;
                RaisePropertyChanged("selectedTrafficGen");
            }
        }

        private ObservableCollection<TrafficTerminatorClass> _trafficTermCollection;
        public ObservableCollection<TrafficTerminatorClass> trafficTermCollection
        {
            get { return _trafficTermCollection; }
            set
            {
                _trafficTermCollection = value;
                RaisePropertyChanged("trafficTermCollection");
            }
        }

        private TrafficTerminatorClass _selectedTrafficTerm;
        public TrafficTerminatorClass selectedTrafficTerm
        {
            get { return _selectedTrafficTerm; }
            set
            {
                _selectedTrafficTerm = value;
                RaisePropertyChanged("selectedTrafficTerm");
            }
        }

        public MainViewModel() { }

        public void LoadRoads() { }

        public void LoadCars() { }

        public void LoadTrafficGens() { }

        public void LoadTrafficTerms() { }
    }
}
